package insignia;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import junit.framework.Assert;
import model.Publicacion.Pregunta;
import model.Usuario.UsuarioSimple;
import model.insigniaYlogros.InsigniaSimple;
import model.insigniaYlogros.Logro;
import model.insigniaYlogros.LogroUsDeCantidadDeVotos;

import org.junit.Before;
import org.junit.Test;

public class TestInsigniaUsDeCantidadDeVotos {
	
	UsuarioSimple us;
	  Pregunta p;
	  InsigniaSimple iucv;
	  Logro l;

	@Before
	public void setUp() throws Exception {
		l=new LogroUsDeCantidadDeVotos(1);
		iucv=new InsigniaSimple("ty", l);
		us=mock(UsuarioSimple.class);
		p=mock(Pregunta.class);
	}

	@Test
	public void testSeCumple() {
		when(us.cantDeVotos()).thenReturn(2);
		Assert.assertEquals(true, iucv.seCumple(us));
		verify(us,times(1)).cantDeVotos();
		when(us.cantDeVotos()).thenReturn(0);
		Assert.assertEquals(false, iucv.seCumple(us));
		verify(us,times(2)).cantDeVotos();
	}

}
